Interactive multimedia book

ABSTRACT

An interactive multimedia book provides hands-on multimedia instruction to the user in response to voiced commands. The book is implemented on an easy to use computer system which is suitable to various environments in which the book might be used. The interactive multimedia book is published on a computer readable medium with the necessary software to support the interactive operation of the book. Alternatively, the book may be downloaded form a remote site using a network, such as the Internet, in which case the content of the book and the necessary software are copied to a local medium, such as a computer hard disk. The content includes both text and audio/video clips. The interactive multimedia book is accessed by a computer system which is equipped with a microphone and voice recognition software. Voiced commands and natural language queries are the primary user input to the computer system. The computer system is also equipped with a high resolution display, a voice synthesizer and a speaker or headphone system to provide output to the user. A combination headphone and directional microphone can be especially convenient in some environments as, for example, the wood shop where the headphones allow the user to better hear the instruction over the din of machine noise while at the same time protecting the user&#39;s hearing. The displayed text is written in a markup language, such as HyperText Markup Language (HTML), and contains hyperlinks which link the current topic with other related topics. The user may command the book to read the text and, as the text is read by the voice synthesizer, a word which is also a hyperlink will change its attributes upon being spoken. The user will be able to observe or hear this and, without having to click a mouse button, simply utter the word which is the hyperlink to navigate to the linked topic.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] This invention generally relates to the field of electronicpublishing, and more particularly to an interactive multimedia bookuseful in providing a user with hands-on multimedia instructions inresponse to voiced commands.

[0003] 2. Description of the Prior Art

[0004] Books which provide instruction in various arts, ranging fromgardening to cooking to woodworking, are especially popular, as may bereadily seen by the number of shelves devoted to them in majorbookstores. Generally speaking, however, these books are intended to beread at one location, and then the knowledge gained from them applied inanother location. Take for example a cookbook. There may be sections ofthe cookbook which provide instruction on various cooking techniques andother sections which set out the recipes. The user of the cookbook istypically not able to read the book on topics of technique instructionwhile attempting to cook. It is more a matter of reading and thenattempting to execute based on the instructions read. More commonly, acookbook will be laid open in the kitchen at the place of a recipe toallow the user to make more or less frequent reference to theingredients and quantities. For this purpose, there are number ofdevices currently sold in kitchen supply stores which hold a cookbook atan easy to read angle with a transparent plastic cover so as to protectthe open pages of the cookbook from splatters. These devices make itdifficult to page back and forth in the cookbook, but generally thedesired recipe is on a single page.

[0005] The ease of use of other types of instructional books is also aproblem. A gardening book is typically not found in the environment itdescribes; that is, in the garden or the potting shed. The book issimply too valuable to the user to be ruined by soil and water and, inany case, the book is not easily used when one is wearing gardeninggloves and handling a spade or trowel. The same is true of woodworkingbooks. In the environment of the wood shop, there are many potentiallydangerous tools requiring the full attention of the user. One cannotsafely operate a radial arm saw while looking at the illustrations in abook.

[0006] There are many other instructional books which have the sameproblems. Many of these are in the nature of do-it-yourself (DIY) repairand maintenance books, such as home repair and automobile repair andmaintenance books. Consider for example the problem of replacing anelectrical switch in the home. To someone familiar with the procedure,it is quite simple; however, to the new homeowner, even the simplesthome wiring problem can be quite mysterious. And sometimes just readinga book on the procedure does not always provide that sufficient degreeof confidence that would allow the homeowner to confidently andcompetently complete the procedure. As to automobile repair andmaintenance, which at one time was the avocation of many young Americanmales, this is not something attempted much nowadays simply because themodem automobile has become such a complex machine. Yet, there are manythings the average car owner can do on their own provided they had theright instruction. But a book is not always a good substitute forpersonal instruction.

SUMMARY OF THE INVENTION

[0007] It is therefore an object of the present invention to provide abook which provides the user with instruction in a safe and effectivemanner in a variety of environments.

[0008] It is another and more specific object of the invention toprovide an interactive multimedia book which provides hands-onmultimedia instruction to the user in response to voiced commands.

[0009] It is a further object of the invention to provide an easy to usecomputer system on which the interactive multimedia book may beimplemented and which is suitable to various environments in which thebook might be used.

[0010] According to the invention, the interactive multimedia book ispublished on a computer readable medium with the necessary software tosupport the interactive operation of the book. Alternatively, the bookmay be downloaded from a remote site using a network, such as theInternet, in which case the content of the book and the necessarysoftware are copied to a local medium, such as a computer hard disk. Ina preferred embodiment, the book may be published in the form of acompact disk (CD), digital versatile disk (DVD) or other computerreadable medium containing both the content of the book and thenecessary software. The content includes both text and audio/videoclips.

[0011] The interactive multimedia book is accessed by a computer systemwhich is equipped with a microphone and voice recognition software.Voiced commands and natural language queries are the primary user inputto the computer system, but conventional inputs, such as the usualkeyboard and mouse, can also be provided for user input. The computersystem is also equipped with a high resolution display, a voicesynthesizer with a text-to-speech module, and a speaker or headphonesystem to provide the output to the user. A combination headphone anddirectional microphone can be especially convenient in some environmentsas, for example, the wood shop where the headphones allow the user tobetter hear the instruction over the din of machine noise while at thesame time protecting the user's hearing. Optionally, the computer systemmay be equipped with a printer to provide the user with a hard copyoutput of specific content.

[0012] In operation, when the computer system is initially turned on, adetermination is made as to whether the user has inserted a CD or DVDcontaining an interactive multimedia book or if such a book or books arestored on the hard disk of the computer system. The user is given theoption of selecting and playing an interactive multimedia book. Once theprocess of playing the interactive multimedia book begins, the userselects a specific topic or project in the book by any one of severalinput options, including speaking the topic or project name or speakinga natural language query. Responding to the command or natural languagequery, the computer system accesses the desired topic or project anddisplays text and optionally an image relevant to the topic or project.The displayed text is written in a markup language, such as HyperTextMarkup Language (HTML), and contains hyperlinks which link the currenttopic with other related topics. These hyperlinks have some attribute,such as color, which changes when a pointing cursor is placed on them,as is well known in the art. However, in the preferred embodiment of theinvention, the user may command the book to read the text by, forexample, the spoken command “READ”. As the text is read by thetext-to-speech module of the voice synthesizer, a word which is also ahyperlink will change its visual attribute upon being spoken, just as ifthe pointing cursor had been placed on the word, and activate an auralattribute, such as a bell or chime. The user will be able to observe orhear this and, without having to click a mouse button, simply utter theword which is the hyperlink to navigate to the linked topic.

[0013] To facilitate the interactive operation of the book, the voicerecognition system is provided with a limited vocabulary of commands.These include, among others, the command “READ” already mentioned. Othercommands include “CONTENTS”, which causes the contents of the book to bedisplayed, “VIDEO”, which selects a video clip indicated by a displayedicon, and “PLAY”, which plays the selected video clip. A word which is ahyperlink also functions as a command causing the linked topic to beaccessed. To return, to the preceding text, the user speaks the command“RETURN”, this command functioning much the same way as the “BACK ARROW”does in a browser on the World Wide Web (WWW). The number of commands ispurposely kept relatively small to minimize or eliminate the trainingtime required for most voice recognition systems, thereby making theinteractive multimedia book readily useful to the widest audience.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] The foregoing and other objects, aspects and advantages will bebetter understood from the following detailed description of a preferredembodiment of the invention with reference to the drawings, in which:

[0015]FIG. 1 is an isometric diagram of a computer system on which theinteractive multimedia book may be implemented;

[0016]FIG. 2 is a back view of the computer system shown in FIG. 1illustrating the connectors for connections to external devices;

[0017]FIG. 3 is a pictorial illustration of the computer system of FIG.1 mounted under a wall cabinet;

[0018]FIG. 4 is a pictorial illustration of a wireless headphone andmicrophone set which may be optionally used with the computer systemshown in FIG. 1;

[0019]FIG. 5 is a block diagram of the computer system shown in FIG. 1;

[0020]FIGS. 6A, 6B and 6C, taken together, are a flow diagramillustrating modifications to the basic operating system of the computersystem shown in FIG. 1 including the automatic on and off function, thevideo orientation function and inhibition of the internal microphone andspeaker when the wireless headphone and microphone transceiver isinstalled;

[0021]FIGS. 7A and 7B are flow diagrams illustrating the two functionsof the pause/select button on the front edge of the computer system ofFIG. 1;

[0022]FIGS. 8A, 8B, 8C, 8D, 8E, 8F, and 8G taken together, are a flowdiagram illustrating the voice recognition control functions of theinteractive multimedia book according to the invention;

[0023]FIG. 9 is a flow diagram illustrating the process of the “READ”command function;

[0024]FIG. 10 is a flow diagram illustrating the process of the “LIST”command function;

[0025]FIGS. 11A and 11B are flow diagram illustrating the processes ofthe “VIDEO” and “PLAY” command functions;

[0026]FIG. 12 is a flow diagram illustrating the process of the “RETURN”command function; and

[0027]FIGS. 13, 14 and 15 are flow diagrams illustrating, respectively,the processes of the “PAUSE”, “RESUME” and “STOP” command functions.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS OF THE INVENTION

[0028] The basic invention may be implemented on any personal computer(PC) system having sufficient memory, hard disk space and processorspeed and having the requisite speech synthesis and voice recognitionhardware and software applications to support the invention. Obviously,for many uses of the interactive multimedia book of this invention, aportable computer would be desired, but not necessary. For example, ifthe kitchen has a desk and work space equipped with a desktop computer,then a cookbook version of the invention might be conveniently installedon that computer. However, in a preferred implementation of theinvention, a computer system with a simplified user interface which maybe positioned near the user's work area or mounted under a cabinet ispreferred.

[0029] Referring now to the drawings, and more particularly to FIG. 1,there is shown an isometric view of a preferred computer system 100 onwhich the invention may be implemented. The system unit 120 includes thecentral processor unit (CPU) and supporting electronics of the computersystem 100 which are housed in a low profile, generally rectangularhousing 121. Attached to the housing 121 is a display screen 140, suchas a liquid crystal display (LCD), hinged to a front edge of the housing121 and which, when folded flat against the housing 121, may be coveredby protective cover 160, hinged to a rear edge of the housing 121. Inthe preferred embodiment of the invention, the act of opening or ofclosing the protective cover 160 toggles a switch which initiates turnon or turn off of the computer system. Alternatively, and if theprotective cover 160 is omitted, the switch can be toggled on by therotation of the display screen 140 away from the housing 121 or toggledoff by folding the display screen 140 flat against the housing 121.

[0030] The front face of the housing 121 has a slot 122 for receiving acompact disk (CD) or digital versatile disk (DVD). The CD or DVDinserted into the slot 122 is automatically transported into a CD/DVDplayer. An eject button 123 is provided for ejecting the CD or DVD. Theonly other user operable device on the front face of the housing 121 isa PAUSE/SELECT button 124, preferably a membrane switch and which, bymeans of single and double clicks similar to those used on a mousebutton, is used to control certain processes of the application program.This button is also used for cursor movement and selection functionsduring other processes of the application program. Due to the voicecommand features of the invention, the button 124 is the only userinterface normally needed; however, for more flexible user interface,particularly with applications other than the present invention, aconventional keyboard and mouse (not shown) may be used. Preferably, awireless keyboard and mouse using, for example, an infrared (IR) linkwould be used to avoid clutter in the work area. For this purpose, an IRtransceiver port 125 is provided. Also, a microphone 126 is located onthe front face of the housing 121, and a speaker 127 is located on thesurface of the housing 121 against which the display 140 is folded.

[0031]FIG. 2 illustrates the back of the housing 121 to show the variousconnectors for making connections to external devices. These include twouniversal serial bus (USB) ports 201 and 202, to which may be connecteda variety of devices including, for example, a printer, a personaldigital assistant (PDA), an external storage device, and the like.Additionally, there are provided PS/2 connectors 203 and 204 for aconventional keyboard and mouse (not shown) which may be used in thealternative to a wireless keyboard and mouse. A power supply jack 205 isadapted to receive power input from a conventional AC/DC power converter(not shown). Since the computer system may be used for otherapplications including the playing of music recorded on CD and moviesrecorded on DVD, a pair of stereo speaker jacks 206 and 207 are providedto connect to optional external speakers. A headphone and microphone settransceiver jack 208 is provided for use with the optional headphone andmicrophone set shown in FIG. 4. When this jack 208 is in use, theinternal microphone 126 and speaker 127, shown in FIG. 1, and the stereospeakerjacks 206 and 207 are disabled. Finally, a modem output jack 209is provided for optional connection to the Internet.

[0032]FIG. 3 shows a wall cabinet 301 mounted on a wall 302 over a basecabinet 303 having a counter top 304, such as would be found in atypical kitchen, for example. The counter top 304, or other worksurface, is a convenient location for placing the computer system, sinceit is close to where the work is being performed by the user. Thedisadvantage of this, however, is that the computer system takes upvaluable working area and could get in the way of some procedures. InFIG. 3, the computer system 100 of FIG. 1 mounted under a wall cabinet301, freeing up valuable work space. At the same time, the computersystem is handy to the user and its screen is easy to view. Theinstallation of the computer system to the underside of the wall cabinet301 may be made by means of slotted holes in the bottom of the housing121 which capture bolt heads projecting down through the cabinet baseor, in the alternative, by means of machine nuts molded into the bottomof the housing 121 into which bolts projecting down through the cabinetbase are threaded. Other ways of mounting the computer system to thebottom of the wall cabinet 301, shelf or wall bracket can also beemployed. When the computer system 100 is mounted to the bottom of thewall cabinet 301, the display screen 140 is rotated downwardly from thehousing 121. Note that in this configuration, the computer system is“upside down” compared to its position in FIG. 1. This would ordinarilymean that the image on display screen 140 would be upside down; however,the computer system includes a built in gravity switch which is checkedeach time the computer system is turned on to determine the orientationof the computer system and then display the image on the display screen140 with the proper rotation for that orientation. This gravity switchand the operation will be described in more detail with reference toFIGS. 5 and 6A.

[0033] The optional headphone and microphone set 400 is shown in FIG. 4.This set comprises a pair of headphones 401 and 402 connected by anadjustable head strap 403 to allow convenient and comfortable fit to theuser. Attached to one of the headphones, headphone 401 in the figure, isa microphone support 404 and a microphone 405. The microphone support404 is adjustable about pivot point 406 so that the microphone 405 maybe positioned immediately adjacent the user's mouth.

[0034] The headphone and microphone set 400 communicates with thecomputer system 100 through a wireless radio frequency (RF) link. The RFlink can be based, for example, on the Bluetooth standard. An RFtransceiver is built into one of the headphones, headphone 402 in thefigure, and provided with an antenna 407. A communicating RF transceiver410 plugs into the back of the computer system main body 121 at jack 208shown in FIG. 2 by means of plug 411. An antenna 412 is used fortransmitting speech synthesized signals to the headphone and microphoneset 400 and for receiving voice command signals from the headphone andmicrophone set 400.

[0035] It is contemplated that most applications will not require theoptional headphone and microphone set 400; however, the headphone andmicrophone set 400 would be desirable when working in a high ambientnoise area, such as a woodworking shop or performing maintenance andrepair on an automobile. Wearing the headphones additionally providessome hearing protection.

[0036]FIG. 5 is a block diagram of a computer system architecture onwhich the interactive multimedia book may be implemented. The computersystem includes a central processor unit (CPU) 500 connected to a memorycontroller hub (MCH) 501 via a system bus 502. The MCH 501 is connectedto a random access memory (RAM) 503 via a direct memory bus 504, such asa bus meeting the Rambus specification, and a video graphics chip 505,such as the accelerated graphics port (AGP) graphics chip, via a videobus 506. The display screen 140 is connected to the AGP graphics chip505.

[0037] The MCH 501 is further connected via high speed interface 507 toan input/output (I/O) controller hub (ICH) 508. The ICH 508 providesconnection to a personal computer interface (PCI) bus 509, to which isattached one or more PCI slots 510 for option cards, an integrateddevice electronics (IDE) controller interface 511, to which a hard drive512 and a removable media drive 513, such as a CD/DVD drive, areattached, a USB controller 514 connecting to the USB ports 201 and 202(FIG. 2), and a firmware hub (FWH) 515. Operating system (OS) softwareis installed on the hard drive 512. Voice recognition and speechsynthesis software are also installed on the hard drive 512. The ICH 508integrates a local phone network port and an Ethernet network port inlocal area network (LAN) connection 516. The ICH 508 also provides andinterface to a multiple channel audio interface 517, to which microphone126 and speaker 127 (FIG. 1) and stereo speaker jacks 206 and 207 andheadphone and microphone set jack 208 (FIG. 2) are connected. The ICH508 interfaces with a modem 518 for optional connection to the Internet.

[0038] The voice recognition software is the primary user input to thesystem. If the interactive multimedia book is distributed on removablemedia such as a CD or DVD, the supporting software is first installed onthe hard drive 512 and the content read from the removable media. In thealternative, the interactive multimedia book may be down loaded from theInternet and stored on the hard drive 512. It is possible, for example,for the hard drive to store multiple interactive multimedia books, andthe computer system would be a repository or library of books.

[0039] The ICH 508 also provides a low pin count (LPC) interface to asuper I/O device 519 supporting a keyboard, mouse, floppy disk drive,and parallel and serial ports. In the preferred embodiment, only thekeyboard and mouse support are utilized, either through the IRtransceiver 125 (FIG. 1) or the PS/2 ports 203 and 204 (FIG. 2). Inaddition, the LPC I/O device 519 provides the interface for the membraneswitch 124 (FIG. 1).

[0040] As mentioned, there is a gravity switch 521 which is connected tothe LPC I/O device 519. The gravity switch 521 is checked by the CPU 500as part of the initial program load (IPL) to determine the orientationof the computer system. The gravity switch may be, for example, amercury switch having a central contact and contacts at either end of abulb and which is oriented perpendicular to the horizontal plane of themain body 121 of the computer system. Based on the sensed output of thegravity switch 521, the CPU 500 rotates the image on the display screen140 so that the image is displayed right side up to the viewer.

[0041]FIGS. 6A to 6C are a flow diagram illustrating modifications tothe basic operating system (OS) of the computer system. Thesemodifications include an automatic on and off function and detection ofthe orientation of the computer so that the image on the display screenis property displayed. The modifications also include inhibiting theinternal microphone and speaker and stereo output jacks when thewireless headphone and microphone transceiver is installed.

[0042] Referring first to FIG. 6A, a determination is made in decisionblock 601 as to whether the cover switch has been toggled, indicatingthat the cover has been opened or closed. If the cover has been opened,indicating that the user desires to turn on the computer system, thenthe normal startup routine of the operating system (OS) is initiated infunction block 602. As part of that startup routine, a determination ismade in decision block 603 as to the orientation of the computer system;that is, is it sitting upright (FIG. 1), say, on a counter top or is itattached below a wall cabinet (FIG. 3). This is done by means of thebuilt-in gravity switch 521. Depending on the orientation of thecomputer system, the display is either rotated 180° in function block604 or not, and then the startup routine makes a determination indecision block 605 as to whether the headphone and microphonetransceiver 410 (FIG. 4) is plugged into the system unit. If so, theinternal microphone and speaker and the stereo speaker jacks areinhibited in function block 606. In either case, the start up routinecompletes in function block 607.

[0043] Referring next to FIG. 6B, upon completion of the startuproutine, a determination is made in decision block 608 as to whether aCD or DVD is in the removable media drive 513 (FIG. 5) and, if so, theuser is provided with a prompt on the screen as to whether this book isto be played at this time or not in function block 609. This prompt isin the form of buttons which the user can select by a single click ofbutton 124 (FIG. 1) or move between buttons by a double click of button124, as described in more detail with reference to FIG. 7B, below.Assuming that the user desires to play the book and makes theappropriate selection, as determined in decision block 610, then theprogram on the removable media is launched in function block 611. On theother hand, should the user elect not to play the book and selectsinstead a cancel option offered by one of the buttons on the displayscreen, then the user will be prompted to access the Internet infunction block 618.

[0044] If there is no CD or DVD in the removable media drive 513, asdetermined in decision block 608, a determination is made in decisionblock 613 as to whether one or more books are stored on the hard drive512 (FIG. 5). If so, a list of books currently stored on the hard drive512 is displayed in function block 614. Then the user is prompted infunction block 615 to select one of the books, again using the singleclick/double click procedure of button 124. The user is also given theoption to cancel in the form of a cancel button. A determination is madein decision block 616 as to whether the user has selected one of thebooks currently on the hard drive or has selected the cancel button. Ifa book has been selected, the book is launched in function block 611. Ifthere are no books currently stored on the hard drive 512, as determinedin decision block 613, or if the user has selected the cancel button, asdetermined in decision block 617, then the user is prompted as towhether the Internet should be accessed to down load a book in functionblock 618. Again the user is prompted by displayed buttons which may beselected by the single click/double click procedure of button 124 inorder to access a site on the Internet. The user is also given a cancelbutton option.

[0045] In FIG. 6C, a determination is made in decision block 619 as towhether the user has selected access to the Internet. If so, the desiredsite on the Internet is accessed and a selected book down loaded infunction block 620. Once down loaded, the process loops back to functionblock 614 (FIG. 6B) where the down loaded book is now displayed forselection by the user. Should the user select the cancel button, asdetermined in decision block 619, the user is prompted to insert a CD orDVD in the removable media drive 513 or to make a selection of anotheraction in function block 621. If the user does not make anotherselection, as determined in decision block 622, and instead inserts a CDor DVD, as determined by decision block 623, the process loops back todecision block 608 (FIG. 6B). If the user selects another action,perhaps unrelated to the interactive multimedia book of the presentinvention, then the application selected is launched in function block624.

[0046] Returning now to FIG. 6A, if in decision block 601 it isdetermined that the cover has been closed, the shut down procedure isinitiated. In this case, any active application is closed in functionblock 625. Once all active applications have been closed as determinedin decision block 626, the computer system is powered down in functionblock 627.

[0047]FIGS. 7A and 7B are flow diagrams illustrating the functions ofthe PAUSE/SELECT button 124. There are two modes of operationillustrated respectively in FIGS. 7A and 7B. The first is to control thereading of text by the text-to-speech module of the speech synthesisfunction or the playing of a video clip. The second is for cursormovement and selection of buttons displayed on the display screen inlieu of a mouse.

[0048] In the first mode of operation of the PAUSE/SELECT button 124shown in FIG. 7A, a single click of the button 124 functions to pause orresume a function. Therefore, if in decision block 701 a single click isdetected, then a further determination is made in decision block 702 asto whether the speech synthesis function is active or a video clip isplaying. If so, that speech synthesis function or video clip is pausedin function block 703, and the process returns to the calling program.If the speech synthesis function is not active or a video clip is notplaying, a determination is made in decision block 704 as to whetherthere is currently a speech synthesis function or a video clip in thepaused condition. If so, the paused speech synthesis function or thepaused video clip is resumed from the point at which it was paused infunction block 705, and the process returns to the main program;otherwise, the single click of the button 124 is ignored, and theprocess returns to the main program. If a double click is detected indecision block 701, then a determination is made in decision block 706as to whether there is either an active or paused speech synthesisfunction or either a playing or paused video clip. If so, the speechsynthesis function or video clip is stopped in function block 707, andthe process returns to the main program. If there is no active or pausedspeech synthesis function or playing or paused video clip, then thedouble click is ignored. In either case, the process again returns tothe main program.

[0049] A menu interface may be displayed for some functions not directlyinvolving a specific interactive multimedia book, such as the selectionof an interactive multimedia book to play as described with reference toFIGS. 6B and 6C above. In such a case when a mouse is not being used,the button 124 can be used for cursor movement and selection, as shownin FIG. 7B. So for the example described above with reference to FIG.6B, when the startup procedure has completed and a CD or DVD is in theremovable media drive 513, the user is prompted in function block 609 bythe display of a first button with the legend “PLAY” and a second buttonwith the legend “CANCEL”. The default position of the cursor is on thefirst, or PLAY, button so that the user can select that button by asingle click of the button 124. However, should the user wish to selectthe CANCEL button, the cursor is moved to that button by a double clickof button 124, and then the CANCEL button may be selected by a singleclick of button 124.

[0050] The process is similar to that shown in FIG. 7A and begins bydetecting a single click or a double click of button 124 in decisionblock 710. If a single click, the displayed button on which the cursorrests is selected in function block 711, and the function selected isexecuted in function block 712. If a double click, the cursor is movedto the next displayed button in function block 713, and the processloops back to decision block 710. This double click operation may beused to move the cursor from one displayed button to another insuccession, returning to the original displayed button. In this way,multiple choices (more than two) may be provided to the user.

[0051] The procedure just described for cursor movement and selectioncan be enhanced in the case of a tool bar displayed on the displayscreen, allowing the user to move from one tool to another by doubleclicking the button 124. If a particular tool in the tool bar isselected, then a pull down menu is displayed under that tool with thefirst entry in the menu highlighted. Double clicking on button 124 wouldhighlight successive menu entries, returning to the tool bar and closingthe pull down menu. Single clicking on one of the menu entries wouldlaunch the displayed function. Obviously, this procedure can be carriedfurther to the case where a menu entry, when selected, results in a flyout menu, again with the first menu entry highlighted, and so on.

[0052]FIGS. 8A to 8G, taken together, are a flow diagram illustratingthe voice recognition control functions of the interactive multimediabook. During system startup illustrated in FIG. 6A, the voicerecognition software is activated. However, in most applications, thereis a possible feedback problem if the speech synthesis function iscurrently active or if a video clip is being played. Therefore, in FIG.8A, the system checks in decision block 801 to determine if either thespeech synthesis function is active or if a video clip is being played.If so, the voice recognition function is inhibited in function block802, and the process loops back to decision block 801. If, however,neither the speech synthesis function is active or a video clip is beingplayed, then the process goes to decision block 803 where the input ismonitored from the microphone to determine if a voice is detected. Thismonitoring function continues until a voice is detected or until one ofthe speech synthesis function is active or a video clip is played.

[0053] Note that the functions of decision block 801 and function block802 may be omitted or disabled in the event that the headphone andmicrophone set 400 shown in FIG. 4 is being used. The reason for this isthat the possibility of feedback is eliminated by the use of theheadphone and microphone set. If these functions are disabled, thenadditional commands are enabled in the command set as described in moredetail below.

[0054] Once a voice is detected, a lexical analysis is performed infunction block 804. The lexical analysis involves a low level analysisin which sound waves are split into phonemes (i.e., elements of sound)and morphemes (i.e., elements of meaning) in a process of translatingthe sound waves into words and other elementary segments of meaning(called tokens). The lexical analysis requires some understanding ofwhat words are and the various ways they can be used so that theappropriate words can be recognized. Once this process is complete, acheck is made in decision block 805 to determine if a bypass has beenset. This will be explained in more detail below. Assuming for now thatthe bypass has not been set, a command dictionary is accessed infunction block 806. A determination is made in decision block 807 as towhether the detected voiced word is recognized as being a command. Ifso, then the appropriate command function is called in function block808. After the command function is performed, a return is made todecision block 801. A preferred voiced command set is listed below.

Voiced Command Set

[0055] CONTENTS—display table of contents of the book

[0056] DISPLAY—display image of completed project

[0057] GLOSSARY—display glossary of terms used in the book

[0058] INDEX—display index of the book

[0059] LIST—list active hyperlinks on current page by displaying a listof hyperlinks and speaking each hyperlink in order or, if no activehyperlinks on current page, returning “no active hyperlinks”

[0060] NEXT—go to next page for current recipe or project or return“end” if last page of current recipe or project

[0061] PAUSE—pause reading of text or playing of video clip (thiscommand active only if headphone and microphone set 400 are used)

[0062] PLAY—play a selected video clip or return “no video clipselected” (this command active only if headphone and microphone set 400are used)

[0063] PRINT—print a displayed recipe, bill of materials, ingredients orthe like or return an error message if there is no displayed recipe,bill of materials, ingredients or the like

[0064] READ—read displayed text

[0065] RETURN—return to last page in LIFO register

[0066] SELECT—select a displayed button

[0067] SHOW—display a recipe, bill of materials, ingredients for acurrent project (similar to PRINT)

[0068] STOP—stop reading displayed text or playing video clip (thiscommand active only if headphone and microphone set 400 are used)

[0069] VIDEO—select a video clip represented by a displayed icon

[0070] Notice that the voiced command set are all single words. Thissimplifies the recognition process so that only the lexical analysis offunction block 804 is required; that is, it is not necessary torecognize the parts of speech and meaning of a sentence.

[0071] The READ command function is shown in FIG. 9. When this commandfunction is called from the main program, the displayed text is accessedin function block 901, and then a processing loop is entered byaccessing the next word in the text in function block 902. For theinitial access of the displayed text, the next word will be the firstword. A determination is made in decision block 903 as to whether theword is a hyperlink by testing for the hyperlink attributes. If so, thevisual and aural hyperlink attributes are activated in function block904 to alert the user that this word is a hyperlink. Typically, thevisual attribute is a change of color but may be other attributesincluding increasing the brightness, reverse color, flashing or acombination of these and other attributes. The aural attribute may bebell ring or chime, for example. Whether a hyperlink or not, thetext-to-speech module of the voice synthesizer speaks the word infunction block 905. Then, a determination is made in decision block 906as to whether there are additional words to be read to the user and, ifso, the process loops back to function block 902; otherwise, a return ismade to the main program.

[0072] In the course of the text being read to the user, the user willbe made aware of hyperlinks on the current page by the visual and auralattributes. If after the reading of the current page is completed theuser is unsure of which words in the text are hyperlinks, the user caninvoke the LIST command. The preferred process for the LIST command isshown in FIG. 10. When this command function is called from the mainprogram, the displayed text is accessed in function block 1001, and thena processing loop is entered by accessing the next word in the text infunction block 1002. For the initial access of the displayed text, thenext word will be the first word. A determination is made in decisionblock 1003 as to whether the word is a hyperlink by testing for thehyperlink attributes. If so, the word is stored in a temporary buffer infunction block 1004. Then, a determination is made in decision block1005 as to whether there are additional words in the text and, if so,the process loops back to function block 1002; otherwise, the words inthe temporary buffer are displayed in function block 1006 for the userto see and, optionally, the words are read in order by thetext-to-speech module of the speech synthesizer. While still displayingthe listed hyperlinks, a return is made to the main program to await theuser's next spoken command.

[0073] As an alternative to the LIST command, the user could invoke theSHOW command. The process for this command is essentially the same asthat of the READ command, except that instead of reading the text withthe text-to-speech module of the voice synthesizer, the visualattribute(s) of the hyperlinks in the text are activated simultaneouslyand maintained activated for the user to see so that the hyperlinks areviewed in context. Optionally, the hyperlinks can also be read in theorder in which they appear in the text by the text-to-speech module ofthe speech synthesizer. As a simplification of the READ command, thevisual attribute(s) of the hyperlinks in the text may be activated upondisplay of the text and maintained activated while the text is beingread. This, however, is not the preferred embodiment.

[0074] Returning back to FIG. 8A, if a determination is made in decisionblock 807 that the detected voiced word is not a command, then theprocess goes to FIG. 8B where a hyperlink dictionary for the book isaccessed in function block 809. As in the case of the voiced commandset, the hyperlinks are single words; however, the specific hyperlinkswill vary from book to book. In other words, the hyperlink dictionary iscustomized for the specific topic and content of the book. Adetermination is then made in decision block 810 as to whether thedetected voice is recognized as a hyperlink. If a hyperlink for the bookis recognized, a further test is made in decision block 811 to determineif the hyperlink is active. A switch to a hyperlink anchor will not bemade unless the hyperlink is active; that is, in order for the hyperlinkto be active, the detected hyperlink must appear on the currentlydisplayed page. This is necessary to provide the switching context whichallows a return to the current page. If the hyperlink is active (thatis, on the currently displayed page), then the current page number issaved in a last-in/first-out buffer (LIFO) in function block 812. Thebook then goes to the page where the hyperlink anchor is located anddisplays that page. If the hyperlink is not currently active, the speechsynthesis function is activated in function block 813 to inform the userthat the hyperlink is not currently active and to prompt the user torepeat what was said so that another attempt may be made to recognizethe detected voice. The process then loops back to decision block 801 toawait the next voice detection.

[0075] When the user has activated a hyperlink to a technique in thebook, the technique may include a video clip to supplement the text andgraphical illustrations. Video clips are indicated by an icon which isdisplayed adjacent to or imbedded in the text. If the user wants to playthe video clip, he or she must first select the video clip icon and thenplay it. The process is shown in FIG. 11A. When the VIDEO commandfunction is called from the main program, the page is searched infunction block 1101 to determine if there is a video icon associatedwith this page. A determination is made in decision block 1102 todetermine if a video icon has been found. If so, the video icon isselected in function block 1103; otherwise, the speech synthesis isactivated to tell the user that no video icon is present on the currentpage and the user is prompted in function block 1104 to repeat thecommand so that another attempt can be made to detect the command. Then,a return is made to the main program.

[0076] Generally, there will be only one video icon, if any, for a pageof the book. It is possible to have more than one video icon for a page.If that were the case, the user would be prompted to select among thevideo icons, and this may be done in any one of several ways. One is todisplay a menu selection with the first video icon as the defaultselection. The user would then select the desired video icon using theprocedure of FIG. 7B. Alternatively, the names of the video icons may bedisplayed and the user prompted to speak the name of the video icon tobe selected.

[0077] In FIG. 11B, the command “PLAY” is detected and a determinationis first made in decision block 1105 as to whether the video icon on thepage was first selected by the user (FIG. 11A). If not, the speechsynthesis function is activated in function block 1106 to inform theuser that he or she must first select the video icon by speaking thecommand “VIDEO”. The user is then prompted to repeat the command so thatanother attempt can be made to respond. If the video icon was selectedas determined in function block 1105, the video clip is played from thebeginning in function block 1107. While the video clip is playing, thesystem monitors the playing of the video clip to determine if the playhas been paused in decision blocks 1108. In most applications, the PAUSEcommand is entered by the user by means of the pause/select button 124as shown in FIG. 7A. If the user is using the headphone and microphoneset 400 shown in FIG. 4, then the commands PAUSE, RESUME and STOP areactivated in the voice recognition set. In decision block 1107, adetermination is made as to whether the user has input the commandPAUSE. If so, the process waits. When the RESUME command is detected,the video clip is resumed at the point it was stopped in response to thePAUSE command. A determination is made in decision block 1109 as whetherthe playing of the video clip has completed and, if so, the processreturns to the main program; otherwise, the process waits. If the STOPcommand is made by the user (as determined in FIG. 7A, for example), thevideo clip is stopped and a return is made to the main program. Mostvideo clips will be quite brief, lasting from less than a minute to justa few minutes. Even so, as the user is attempting to perform theillustrated procedure, the user may want to pause the video to “catchup” with the instruction being given.

[0078] When the user wants to return the original page, the command“RETURN” is spoken, and the LIFO buffer is accessed to find the originalpage and make the switch back to that page. It will of course beunderstood that by “page number”, what is meant is any index that may beused by the computer system to identify the current display sincephysical pages, as in a hard copy book, are not what is displayed. Theindex used may, however, be correlated to a real page number in a hardcopy book if there is a related hard copy book.

[0079] By way of example only, the hyperlink LIFO buffer function can beillustrated for a recipe in a cookbook for pound cake. Suppose therecipe suggests a butter cream frosting for the pound cake. The word“butter cream” would appear as a hyperlink on the pound cake recipepage. By speaking the word “butter cream”, the current page number isstored in the LIFO buffer and a switch is made to the recipe for buttercream frosting. This recipe, in turn, uses an Italian meringue intowhich butter is incorporated. The word “meringue” is a hyperlink in thebutter cream frosting recipe, and if the user speaks this word, the pagenumber of the butter cream frosting recipe is stored in the LIFO bufferand a switch is made to the recipe for Italian meringue. To take it astep further, the recipe for Italian meringue requires boiling sugar tothe softball stage. The word “softball” is a hyperlink in the Italianmeringue recipe, and if the user speaks this word, the page number ofthe Italian meringue recipe is stored in the LIFO buffer and a switch ismade to the page of the cook book which describes boiling sugar to thesoftball stage. Now if the user is ready to go back to the originalrecipe, the user voices the command “RETURN”. However, the LIFO buffernow has three page numbers stored in it. From the page providingdirections for boiling sugar to the softball stage, the command “RETURN”will return to the page having the recipe for Italian meringue. A secondvoiced command “RETURN” will return to the page having the recipe forbutter cream frosting, and a third voiced command “RETURN” will returnto the page having the recipe for pound cake.

[0080] The RETURN command process is illustrated in FIG. 12. When thisprocess is entered from the main program, the LIFO buffer is accessed infunction block 1201. A determination is made in decision block 1202 asto whether there is a page number stored in the LIFO buffer. If there isnot, the speech synthesis function is activated and the user is informedin function block 1203 that there is currently no page to return to andthe user is prompted to repeat the command so that another attempt canbe made to respond. If there is a page number stored in the LIFO bufferas determined in decision block 1202, a return is made to the last pagecurrently stored in the LIFO buffer in function block 1204. Then, thepage to which the return is made is deleted from the LIFO buffer infunction block 1205 so that if there are additional pages stored in theLIFO buffer, a return will be made to the next page in order upon thespoken command RETURN being detected again. At this point, a return ismade to the main program.

[0081] Returning again to FIG. 8B, if it is determined in decision block810 that the user has not spoken a hyperlink in the hyperlink dictionaryfor the book, then a natural language key word dictionary is accessed infunction block 814. The invention contemplates natural language queriesby the user. In the preferred embodiments, a simplified natural languageinterface is used. Basically, only four key words are recognized in thepreferred embodiment. These are “WHAT”, “MAKE”, “HOW” and “GO”, althoughother key words may be used in modifications to the preferredembodiment. The queries that are recognized are listed in the tablebelow:

Natural Language Queries

[0082] “WHAT” is []—process the word or phrase in brackets [] and returndisplayed and spoken definition

[0083] I want to “MAKE” []—process term or phrase in brackets [] and goto requested project or recipe

[0084] “HOW” do I []—process phrase in brackets [] and go to requestedtechnique

[0085] “GO” to []—go to page number, recipe or project or go totechnique voiced by user

[0086] a. page “[number]”—e.g., “GO TO PAGE 12”. Here the page numbermay be correlated to a hard copy version of the book, and the computersystem accesses the corresponding page for display.

[0087] b. name of “[recipe or project]”—e.g., “GO TO CHILD'S TABLE”

[0088] c. name of “[technique]”—e.g., “GO TO DOVETAIL JOINERY”

[0089] A test is made in decision block 815 to determine if the detectedword matches one of the key words in the dictionary. If not, the speechsynthesis function is activated in function block 816 to inform the userthat the voiced word has not been recognized and to prompt the user torepeat what was said so that another attempt may be made to recognizethe word. The process then loops back to decision block 801, viaconnector C, in FIG. 8A to await the next voice detection.

[0090] If the detected word is one of the words in the key worddictionary, as determined in decision block 815, then the process goesto FIG. 8C where a determination is made in decision block 817 as towhether the key word “WHAT” is detected, and if so, a switchcorresponding to that word is set in function block 818 and the bypassis set in function block 819 before a return is made to decision block801. If the key word detected is not “WHAT”, a determination is made indecision block 820 as to whether the key word detected is “MAKE”. If so,a switch corresponding to that word is set in function block 821 and thebypass is set in function block 819 before a return is made to decisionblock 801. If the key word detected is not “MAKE”, as determined indecision block 820, then a determination is made in decision block 822to determine if the key word is “HOW”. If so, a switch corresponding tothat word is set in function block 823 and the bypass is set in functionblock 819 before a return is made to decision block 801. If the key wordis not “HOW” as determined in decision block 822, then in thisembodiment, the key word must be “GO”. A switch corresponding to thatword is set in function block 824 and the bypass set in function block819 before a return is made to decision block 801.

[0091] The reason for setting the bypass in function block 819 is sothat the next words or phrase will be analyzed for their content inorder to determine how to respond to the user's query. When the nextwords or phrase are detected, the decision block 805 in FIG. 8A willbypass the usual word analysis and instead be passed, via connector B,first to the syntactic analysis in function block 825 in FIG. 8D andthen to the semantic analysis in function block 826. Thus, tokens fromthe lexical analysis in function block 804 in FIG. 8A are analyzed inthe syntactic analysis function 825 to determine whether or not they arepart of a sentence. A parse tree divides the sentence into parts ofspeech (i.e., subject, verb, object, etc.). Then the semantic analysisfunction 826 converts the parse tree to a representation of languagethat details the meaning of the sentence.

[0092] When this analysis is complete, a check is made in decision block827 to determine if the switch key word “WHAT” was set. If so, an indexof terms and definitions is accessed in function block 828, and thesentence output by the semantic analysis function 826 is analyzed bycomparing with an index of terms in decision block 829. If acorresponding term is found in the index as determined in decision block829, then a definition of the word or term in question is displayed andread to the user in function block 830. Optionally, locations within thebook where the word or term appears may also be displayed. Theselocations may be hyperlinks, allowing the user by speaking a hyperlinkto go directly to the corresponding location. After the definition isread in function block 830, the key word switches and the bypass switchare reset in function block 831 before a return is made to decisionblock 801 in FIG. 8A. If a corresponding word or term is not found inthe index, as determined in decision block 829, the speech synthesizeris activated in function block 832 to inform the user that the term wasnot found and to prompt the user to repeat his or her question. Again,the key word switches and the bypass switch are reset in function block831 before a return is made to decision block 801.

[0093] If the query does not include the word “WHAT” as determined indecision block 827, the process goes to FIG. 8E, via connector E, wherea test is made in decision block 833 to determine if the key switch forthe word “MAKE” was set. This word is interpreted to mean that the userwants to make a particular project or recipe. If the word “MAKE” isdetected, the projects or recipes covered in the particular interactivemultimedia book are accessed in function block 834. A comparison is madein decision block 835 of the phrase following the word “MAKE” and theprojects or recipes covered by the book to determine if the project orrecipe requested is covered. If the project or recipe voiced by the useris unambiguous, as determined in function block 836, then the processgoes to that section of the book which covers the project or recipe infunction block 837. Again, the key word switches and the bypass switchare reset in function block 831 before a return is made to decisionblock 801.

[0094] If more than one project or recipe is found which is covered bythe book as determined by decision block 836, then the user is promptedin function block 838 to select which project or recipe he or she wantsto make. For example, suppose the user says, “1 want to make a cake”.There may be several types of cake to choose from and for each type ofcake, there may be several recipes. The user may first be prompted infunction block 838 to select among sponge or foam cakes, butter cakes,biscuit cakes, custard cakes, and fruit cakes. The prompt may be in theform a speech synthesized prompt to select from among a displayed menuof choices, in which case the user would use the membrane button switch124 (FIG. 1) to make a selection. Alternatively, after prompting theuser to make a selection, a return may be made to decision block 801without resetting the bypass switch to receive the user's voicedselection. Once the user makes a selection of the type of cake, then theuser would be prompted to select from among the recipes for that type ofcake in function block 838. In decision block 839, a determination ismade as to whether the user has selected a specific project or recipe,and if so, the process goes to that section of the book which covers theproject or recipe in function block 837. The key word switches and thebypass switch are reset in function block 831, and the process thenloops back to decision block 801.

[0095] If the key word is not “MAKE” as determined in decision block833, the process goes to FIG. 8F, via connector G, where a determinationis made in decision block 841 as to whether the key word is “HOW”. Ifthe query includes the word “HOW”, this word is interpreted to mean thatthe user needs instruction in a particular technique. If the word “HOW”is detected, the techniques covered in the particular interactivemultimedia book are accessed in function block 842. A comparison is madein decision block 843 of the phrase following the word “HOW” and thetechniques covered by the book to determine if the technique requestedis covered. If the technique is covered, the process goes to thatsection of the multimedia book that covers the technique in functionblock 844. If not, the speech synthesis function is activated infunction block 845 to inform the user that the requested technique isnot covered by the book and to prompt the user to ask the questionagain. In either case, the key word switches and the bypass switch arereset in function block 831 (via connector F), and a return is made todecision block 801.

[0096] If the key word is not “HOW” as determined in function block 841in FIG. 8F, then a test is made in decision block 846 to determine ifthe switch for the key word is “GO” is set. For this embodiment, thereare only four key words and one of the key word switches should be seton detecting a key word in decision block 815 in FIG. 8B. If no key wordswitch has been set, then there has been an error. Therefore, the speechsynthesis function is activated to return an error message to the userin function block 847. The user is also prompted to repeat the querybefore the key word switches and the bypass switch are reset in functionblock 831, via connector F, before a return is made to decision block801 in FIG. 8A.

[0097] Assuming that the switch for the key word “GO” was properly set,then the process goes to FIG. 8G, via connector H, where an index ofpages is first accessed in function block 848. A determination is madein decision block 849 as to whether a page was found corresponding tothe query. The user may speak a desired page number corresponding to ahard copy of the book. If so, the process goes to the page in themultimedia book corresponding to the page in the hard copy of the bookin function block 850. From there, the process goes to the resetfunction block 831 (via connector F) before a return is made to decisionblock 801.

[0098] If a page was not found in decision block 849, then an index ofprojects or recipes is accessed in function block 851. A determinationis then made in decision block 852 as to whether a project or recipe wasfound corresponding to the query. If so, the process goes in functionblock 853 to that section of the multimedia book which describes theproject or recipe. From there, the process goes to the reset functionblock 831 before a return is made to decision block 801.

[0099] If a project or recipe was not found in decision block 852, anindex of techniques is accessed in function block 854. A determinationis made in decision block 855 as to whether a technique corresponding tothe query is found. If so, the process goes in function block 856 tothat section of the multimedia book which describes the technique. Fromthere, the process goes to the reset function block 831 before a returnis made to decision block 801.

[0100] Should no technique be found in decision block 855, an error hasoccurred. Therefore, in function block 857, the speech synthesisfunction is activated and an error message is returned with a prompt tothe user to repeat his or her query. From there, the process goes to thereset function block 831 before a return is made to decision block 801.

[0101] When the headphone and microphone set 400 (FIG. 4) is used, thevoiced command set is increased by enabling the commands “PAUSE”,“RESUME” and “STOP”. The processes of these commands are shown in FIGS.13, 14 and 15, respectively. Referring first to FIG. 13, when thecommand “PAUSE” is detected, a determination is made in decision block1301 as to whether a video is being played. If so, the video is pausedin function block 1302; otherwise, the command is ignored in functionblock 1303. Referring next to FIG. 14, when the command “RESUME” isdetected, a determination is made in decision block 1401 as to whether avideo is paused. If so, playing of the video is resumed in functionblock 1402; otherwise, the command is ignored in function block 1403.Finally, referring to FIG. 15, when the command “STOP” is detected, adetermination is made in decision block 1501 as to whether a video isactive, either being played or paused. If so, the video is stopped infunction block 1502; otherwise, the command is ignored in function block1503.

[0102] These and the other commands in the command set are examples ofthe types of commands that can be used in various embodiments in thepractice of the invention. Likewise, other key words than thosespecifically disclosed to support a natural language interactiveinterface can be used depending on the specific application. And, ofcourse, the hyperlinks in the text of the interactive multimedia bookwill vary from book to book depending on the subject matter of the book.In any specific application, the interactive multimedia book accordingto this invention provides a unique, convenient and very effectivevehicle for providing instruction on a variety of subjects. Therefore,while the invention has been described in terms of preferredembodiments, those skilled in the art will recognize that the inventioncan be practiced with modification within the spirit and scope of theappended claims.

Having thus described my invention, what I claim as new and desire tosecure by Letters Patent is as follows:
 1. A method of presenting aninteractive multimedia book on a computer system comprising the stepsof: recognizing voiced commands spoken by a user of the book; respondingto a voiced command to read text on a displayed page of the book byreading text on the displayed page of the book; identifying words whichare active hyperlinks in the text on a displayed page of the book as thetext is being read; activating at least one attribute of a wordidentified as an active hyperlink to indicate to the user of the bookthat the word is a hyperlink; recognizing a voiced word spoken by theuser of the book as an active hyperlink; and responding to a voiced wordwhich is an active hyperlink by moving to another page of the book whichcontains an anchor for the hyperlink.
 2. The method of presenting aninteractive multimedia book on a computer system recited in claim 1,further comprising the steps of: displaying an icon representative of avideo clip on the page of the book which contains an anchor for thehyperlink; recognizing a voiced command to play the video clip; andresponding to the voiced command to play the video clip by playing thevideo clip.
 3. The method of presenting an interactive multimedia bookon a computer system recited in claim 2, further comprising the step of:providing a user interface which allows the user to pause, resume andstop the playing of the video clip; responding to a user input to pausethe video clip by temporarily halting the playing of the video clip;responding to a user input to resume playing the video clip by playingthe video clip from a point at which the video clip was temporarilyhalted; and responding to a user input to stop playing the video clip bystopping the playing of the video clip and returning to a main program.4. The method of presenting an interactive multimedia book on a computersystem recited in claim 3, wherein the step of providing a userinterface is by means of a single button which when pressed once pausesthe playing of the video clip if the video clip is playing, when pressedagain resumes the playing of the video clip if the video clip istemporarily halted, and when pressed twice in succession causes theplaying of the video clip to be stopped.
 5. The method of presenting aninteractive multimedia book on a computer system recited in claim 1,wherein said at least one attribute of a word identified as an activehyperlink is a change in color, the word on the displayed page changingcolor when read.
 6. The method of presenting an interactive multimediabook on a computer system recited in claim 1, wherein said at least oneattribute of a word identified as an active hyperlink is a sound, thesound being emitted when the word on the displayed page is read.
 7. Themethod of presenting an interactive multimedia book on a computer systemrecited in claim 1, wherein said at least one attribute of a wordidentified as an active hyperlink is a change in color and a sound, thesound being emitted and the word on the displayed page changing colorwhen read.
 8. The method of presenting an interactive multimedia book ona computer system recited in claim 1, wherein the voiced commands spokenby the user of the book further include a command to list activehyperlinks on a displayed page.
 9. The method of presenting aninteractive multimedia book on a computer system recited in claim 1,wherein the voiced commands spoken by the user of the book furtherinclude a command to display an image of a completed project describedon a currently displayed page of the book.
 10. A method of presenting aninteractive multimedia book on a computer system comprising the stepsof: recognizing a voiced word spoken by the user of the book as anactive hyperlink; responding to a voiced word which is an activehyperlink by first storing a current page number in a last in, first outregister before moving to another page of the book which contains ananchor for the hyperlink, the current page being an origin page, andthen moving to another page of the book which contains an anchor for thehyperlink; recognizing a voiced command spoken by the user of the bookto return to the origin page; and responding to the voiced command toreturn to the origin page by moving back to the origin page.
 11. Themethod of presenting an interactive multimedia book on a computer systemrecited in claim 10, further comprising the steps of: recognizing anatural language query spoken by the user of the book; analyzing thenatural language query; and responding to the natural language query.12. The method of presenting an interactive multimedia book on acomputer system recited in claim 11, wherein the natural language queryincludes “WHAT”, the step of analyzing the natural language queryanalyzing a word or words following the word “WHAT”, and the step ofresponding to the natural language query includes the steps ofdisplaying and speaking a definition of the word or words following theword “WHAT”.
 13. The method of presenting an interactive multimedia bookon a computer system recited in claim 11, wherein the natural languagequery includes “MAKE”, the step of analyzing the natural language queryanalyzing a word or words following the word “MAKE”, and the step ofresponding to the natural language query includes the step of moving toa section of the book which covers a project or recipe corresponding tothe word or words following the word “MAKE”.
 14. The method ofpresenting an interactive multimedia book on a computer system recitedin claim 11, wherein the natural language query includes “HOW”, the stepof analyzing the natural language query analyzing a word or wordsfollowing the word “HOW”, and the step of responding to the naturallanguage query includes the step of moving to a section of the bookwhich covers a technique corresponding to the word or words followingthe word “HOW”.
 15. The method of presenting an interactive multimediabook on a computer system recited in claim 11, wherein the naturallanguage query includes “GO”, the step of analyzing the natural languagequery analyzing a word or words following the word “GO”, and the step ofresponding to the natural language query includes the step of moving toa page, a section of the book which covers a project or recipe or atechnique corresponding to the word or words following the word “GO”.16. A computer system comprising: a system unit having a generallyrectangular shape; a display hinged at one edge of the system unit, saiddisplay being rotated away from the system unit when the computer systemis in operation and rotated against the system unit when the computersystem is not in operation; detecting means associated with the displayfor detecting when a user wants to operate the computer system and whenthe user wants turn the computer system off; and an automatic on and offfunction implemented on the computer system and responsive to saiddetecting means for turning on said computer system and performing aninitial program load of an operating system installed on the computersystem when the display is rotated away from the system unit and forinitiating a shut down procedure of any open applications and theoperating system when the display is rotated against the system unit.17. The computer system recited in claim 16, wherein the computer systemmay optionally be placed on a horizontal work surface or mounted under acabinet or shelf, the computer system further comprising orientationmeans for detecting an orientation of the computer system as either on ahorizontal work surface or mounted under a cabinet or shelf, saidautomatic on and off function being further responsive to saidorientation means for rotating display information to the display duringthe initial program load of the operating system so that a displayedimage is oriented right side up.
 18. The computer system recited inclaim 16, wherein the detecting means detects a position of the displayas either rotated away from the system unit, indicating that thecomputer system is to be turned on, or rotated against the system unit,indicating that the computer system is to be turned off.
 19. Thecomputer system recited in claim 16, wherein the display is hinged alonga front edge of the system unit.
 20. The computer system recited inclaim 19, further comprising a protective cover hinged along a back edgeof the computer system, the protective cover being rotated to cover andprotect the display when the display is rotated against the system unitand rotated away from the system unit to allow the display to be rotatedaway from the system unit.
 21. The computer system recited in claim 20,wherein the detecting means is actuated by movement of the protectivecover.
 22. The computer system recited in claim 21, wherein the computersystem may optionally be placed on a horizontal work surface or mountedunder a cabinet or shelf, the computer system further comprisingorientation means for detecting an orientation of the computer system aseither on a horizontal work surface or mounted under a cabinet or shelf,said automatic on and off function being further responsive to saidorientation means for rotating display information to the flat paneldisplay during the initial program load of the operating system so thata displayed image is oriented right side up.
 23. The computer systemrecited in claim 16, further comprising a single user interface buttonon a front surface of the system unit, the user interface buttonallowing a user to control functions of software running on the computersystem by a combination of single and double presses of the userinterface button.
 24. The computer system recited in claim 23, whereinthe software includes a multimedia presentation and the single anddouble presses of the user interface button control pause, resume andstop functions of the multimedia presentation.
 25. The computer systemrecited in claim 23, wherein the software presents a user with choicesfor making a selection in a displayed image on the display and thesingle and double presses of the user interface button control movementamong the displayed choices and selection of one of the displayedchoices.
 26. The computer system recited in claim 23, further comprisinga slot on the front face of the computer system for receiving computerreadable media and an eject button for ejecting computer readable mediacurrently in the slot.
 27. The computer system recited in claim 16,further comprising: an internal microphone and an internal speakerproviding a audible interface with a user; a wireless headphone andmicrophone set providing an alternative audible interface with the user;a wireless transceiver attachable to the computer system andcommunicating with the wireless headphone and microphone set; and meansin the computer system for detecting attachment of the wirelesstransceiver to the computer system and inhibiting operation of theinternal microphone and internal speaker.
 28. A computer system forpresenting an interactive multimedia book to a user comprising: adisplay for displaying text and video clips of the interactivemultimedia book, some words of the text being hyperlinks to anchors intext not currently displayed; a voice recognition function installed onthe computer system; a speech synthesis function installed on thecomputer system; a microphone for inputting voiced commands by the userto the voice recognition function; at least one speaker for outputtingsynthesized speech from the speech synthesis function; and anapplication program running on a central processing unit of the computersystem for responding to a voiced command recognized by the voicerecognition function to read text on a displayed page of the interactivemultimedia book by causing the speech synthesis function to read thetext, the application program identifying words which are activehyperlinks in the text on a displayed page as the text is being read andactivating at least one attribute of a word identified as an activehyperlink to indicate to the user of the book that the word is ahyperlink, the application responding to a voiced hyperlink recognizedby the voice recognition function by moving to another page of the bookwhich contains an anchor for the hyperlink.
 29. The computer systemrecited in claim 28, wherein the application program displays an iconrepresentative of a video clip on the page of the book which contains ananchor for the hyperlink, the application program responding to a voicedcommand recognized by the voice recognition function to play the videoclip by playing the video clip.
 30. The computer system recited in claim29, further comprising a user interface which allows a user to pause,resume and stop the playing of the video clip, the application programresponding to a user input to pause the video clip by temporarilyhalting the playing of the video clip, responding to a user input toresume playing the video clip by playing the video clip from a point atwhich the video clip was temporarily halted, and responding to a userinput to stop playing the video clip by stopping the playing of thevideo clip and returning to a main part of the application program. 31.The computer system recited in claim 30, wherein the user interface is asingle button which when pressed once pauses the playing of the videoclip if the video clip is playing, when pressed again resumes theplaying of the video clip if the video clip is temporarily halted, andwhen pressed twice in succession causes the playing of the video clip tobe stopped.
 32. The computer system recited in claim 28, wherein said atleast one attribute of a word identified as an active hyperlink is achange in color, the word on the displayed page changing color whenread.
 33. The computer system recited in claim 28, wherein said at leastone attribute of a word identified as an active hyperlink is a sound,the sound being emitted when the word on the displayed page is read. 34.The computer system recited in claim 28, wherein said at least oneattribute of a word identified as an active hyperlink is a change incolor and a sound, the sound being emitted and the word on the displayedpage changing color when read.
 35. The computer system recited in claim28, wherein the voiced commands which may be spoken by the user of thebook and recognized by the voice recognition function further include acommand to list active hyperlinks on a displayed page.
 36. The computersystem recited in claim 28, wherein the voiced commands which may bespoken by the user of the book and recognized by the voice recognitionfunction further include a command to display an image of a completedproject described on a currently displayed page of the book.
 37. Thecomputer system recited in claim 28, further comprising: a system unithaving a generally rectangular shape, said central processing unit beinghoused within the system unit, wherein the display is a flat paneldisplay hinged at one edge of the system unit, said flat panel displaybeing rotated away from the system unit when the computer system is inoperation and rotated flat against the system unit when the computersystem is not in operation; detecting means associated with the displayfor detecting when a user desires to turn on the computer system andwhen the user wants to turn off the computer system; and an automatic onand off function implemented on the computer system and responsive tosaid detecting means for turning on said computer system and performingan initial program load of an operating system installed on the computersystem when it is detected that the computer systems is to be turned onand for initiating a shut down procedure of any open applications andthe operating system when it that the computer system is to be turnedoff.
 38. The computer system recited in claim 37, wherein the computersystem may optionally be sat on a horizontal work surface or mountedunder a cabinet or shelf, the computer system further comprisingorientation means for detecting an orientation of the computer system aseither on a horizontal work surface or mounted under a cabinet or shelf,said automatic on and off function being further responsive to saidorientation means for rotating display information to the flat paneldisplay during the initial program load of the operating system so thata display is oriented right side up.
 39. The computer system recited inclaim 37, wherein the detecting means detects a position of the displayas either rotated away from the system unit or rotated against thesystem unit.
 40. The computer system recited in claim 37, wherein thedisplay is hinged along a front edge of the system unit.
 41. Thecomputer system recited in claim 40, further comprising a protectivecover hinged along a back edge of the computer system, the protectivecover being rotated to cover and protect the flat panel display when theflat panel display is rotated flat against the system unit and rotatedaway from the system unit to allow the flat panel display to be rotatedaway from the system unit.
 42. The computer system recited in claim 41,wherein the detecting means is actuated by movement of the protectivecover.
 43. The computer system recited in claim 42, wherein the computersystem may optionally be sat on a horizontal work surface or mountedunder a cabinet or shelf, the computer system further comprisingorientation means for detecting an orientation of the computer system aseither on a horizontal work surface or mounted under a cabinet or shelf,said automatic on and off function being further responsive to saidorientation means for rotating display information to the flat paneldisplay during the initial program load of the operating system so thata display is oriented right side up.
 44. The computer system recited inclaim 37, further comprising a single user interface button on a frontsurface of the system unit, the user interface button allowing a user tocontrol functions of software running on the computer system by acombination of single and double presses of the user interface button.45. The computer system recited in claim 44, wherein the softwareincludes a multimedia presentation and the single and double presses ofthe user interface button control pause, resume and stop functions ofthe multimedia presentation.
 46. The computer system recited in claim44, wherein the software presents a user with choices for making aselection in a display on the flat panel display and the single anddouble presses of the user interface button control movement among thedisplayed choices and selection of one of the displayed choices.
 47. Thecomputer system recited in claim 44, further comprising a slot on thefront face of the computer system for receiving computer readable mediaand an eject button for ejecting computer readable media currently inthe slot.
 48. A computer system for presenting an interactive multimediabook to a user comprising: a display for displaying text and video clipsof the interactive multimedia book, some words of the text beinghyperlinks to anchors in text not currently displayed; a voicerecognition function installed on the computer system; a speechsynthesis function installed on the computer system; a microphone forinputting voiced commands by the user to the voice recognition function;at least one speaker for outputting synthesized speech from the speechsynthesis function; a last in, first out register; and an applicationprogram running on a central processing unit of the computer system forresponding to a voiced hyperlink recognized by the voice recognitionfunction by first storing a current page number in the last in, firstout register before moving to another page of the book which contains ananchor for the hyperlink, the current page being an origin page, andthen moving to another page of the book which contains the anchor forthe hyperlink, said application program responding to a voiced commandrecognized by the voice recognition function to return to the originpage by moving back to the origin page.
 49. The computer system recitedin claim 48, wherein said voice recognition function recognizes anatural language query spoken by the user of the book by analyzing thenatural language query and responding to the natural language query. 50.The computer system recited in claim 49, wherein the natural languagequery includes “WHAT”, the analysis of the natural language query by thevoice recognition function analyzing a word or words following the word“WHAT” and responding to the natural language query by displaying on thedisplay and causing the speech synthesis function to speak a definitionof the word or words following the word “WHAT”.
 51. The computer systemrecited in claim 49, wherein the natural language query includes “MAKE”,the analysis of the natural language query by the voice recognitionfunction analyzing a word or words following the word “MAKE” andresponding to the natural language query by moving to a section of thebook which covers a project or recipe corresponding to the word or wordsfollowing the word “MAKE”.
 52. The computer system recited in claim 49,wherein the natural language query includes “HOW”, the analysis of thenatural language query by the voice recognition function analyzing aword or words following the word “HOW” and responding to the naturallanguage query includes by moving to a section of the book which coversa technique corresponding to the word or words following the word “HOW”.53. The computer system recited in claim 49, wherein the naturallanguage query includes “GO”, the analysis of the natural language queryby the voice recognition function analyzing a word or words followingthe word “GO” and responding to the natural language query by moving toa page or a section of the book which covers a project or recipe or atechnique corresponding to the word or words following the word “GO”.54. A machine readable medium containing computer code for presenting aninteractive multimedia book on a computer, the computer code performingthe steps of: recognizing voiced commands spoken by a user of the book;responding to a voiced command to read text on a displayed page of thebook by reading text on the displayed page of the book; identifyingwords which are active hyperlinks in the text on a displayed page of thebook as the text is being read; activating at least one attribute of aword identified as an active hyperlink to indicate to the user of thebook that the word is a hyperlink; recognizing a voiced word spoken bythe user of the book as an active hyperlink; and responding to a voicedword which is an active hyperlink by moving to another page of the bookwhich contains an anchor for the hyperlink.
 55. The machine readablemedium containing computer code for presenting an interactive multimediabook on a computer system recited in claim 54, the computer code furtherperforming the steps of: displaying an icon representative of a videoclip on the page of the book which contains an anchor for the hyperlink;recognizing a voiced command to play the video clip; and responding tothe voiced command to play the video clip by playing the video clip. 56.The machine readable medium containing computer code for presenting aninteractive multimedia book on a computer system recited in claim 55,the computer code further performing the steps of: providing a userinterface which allows the user to pause, resume and stop the playing ofthe video clip; responding to a user input to pause the video clip bytemporarily halting the playing of the video clip; responding to a userinput to resume playing the video clip by playing the video clip from apoint at which the video clip was temporarily halted; and responding toa user input to stop playing the video clip by stopping the playing ofthe video clip and returning to a main program.
 57. The machine readablemedium containing computer code for presenting an interactive multimediabook on a computer system recited in claim 56, wherein the code thatperforms the step of providing a user interface responds to a singlebutton which when pressed once pauses the playing of the video clip ifthe video clip is playing, when pressed again resumes the playing of thevideo clip if the video clip is temporarily halted, and when pressedtwice in succession causes the playing of the video clip to be stopped.58. The machine readable medium containing computer code for presentingan interactive multimedia book on a computer system recited in claim 54,wherein said at least one attribute of a word identified as an activehyperlink is implemented in code as a change in color, the word on thedisplayed page changing color when read.
 59. The machine readable mediumcontaining computer code for presenting an interactive multimedia bookon a computer system recited in claim 54, wherein said at least oneattribute of a word identified as an active hyperlink is implemented incode as a sound, the sound being emitted when the word on the displayedpage is read.
 60. The machine readable medium containing computer codefor presenting an interactive multimedia book on a computer systemrecited in claim 54, wherein said at least one attribute of a wordidentified as an active hyperlink is implemented in code as a change incolor and a sound, the sound being emitted and the word on the displayedpage changing color when read.
 61. The machine readable mediumcontaining computer code for presenting an interactive multimedia bookon a computer system recited in claim 54, wherein the code furtherimplements the steps of: storing a current page number in a last in,first out register before moving to another page of the book whichcontains an anchor for the hyperlink, the current page being the originpage; recognizing a voiced command spoken by the user of the book toreturn to the origin page; and responding to the voiced command toreturn to the origin page by moving back to the origin page.
 62. Themachine readable medium containing computer code for presenting aninteractive multimedia book on a computer system recited in claim 54,wherein the code further implements the steps of: recognizing a naturallanguage query spoken by the user of the book; analyzing the naturallanguage query; and responding to the natural language query.
 63. Themachine readable medium containing computer code for presenting aninteractive multimedia book on a computer system recited in claim 62,wherein the natural language query includes “WHAT”, the codeimplementing the step of analyzing the natural language query analyzinga word or words following the word “WHAT”, and the code implementing thestep of responding to the natural language query displays and speaks adefinition of the word or words following the word “WHAT”.
 64. Themachine readable medium containing computer code for presenting aninteractive multimedia book on a computer system recited in claim 62,wherein the natural language query includes “MAKE”, the codeimplementing the step of analyzing the natural language query analyzinga word or words following the word “MAKE”, and the code implementing thestep of responding to the natural language query moves to a section ofthe book which covers a project or recipe corresponding to the word orwords following the word “MAKE”.
 65. The machine readable mediumcontaining computer code for presenting an interactive multimedia bookon a computer system recited in claim 62, wherein the natural languagequery includes “HOW”, the code implementing the step of analyzing thenatural language query analyzing a word or words following the word“HOW”, and the code implementing the step of responding to the naturallanguage query moves to a section of the book which covers a techniquecorresponding to the word or words following the word “HOW”.
 66. Themachine readable medium containing computer code for presenting aninteractive multimedia book on a computer system recited in claim 62,wherein the natural language query includes “GO”, the code implementingthe step of analyzing the natural language query analyzing a word orwords following the word “GO”, and the code implementing the step ofresponding to the natural language query moves to a page or a section ofthe book which covers a project or recipe or a technique correspondingto the word or words following the word “GO”.
 67. The machine readablemedium containing computer code for presenting an interactive multimediabook on a computer system recited in claim 62, wherein the voicedcommands spoken by the user of the book and recognized by the codefurther include a command to list active hyperlinks on a displayed page.68. The machine readable medium containing computer code for presentingan interactive multimedia book on a computer system recited in claim 62,wherein the voiced commands spoken by the user of the book andrecognized by the code further include a command to display an image ofa completed project described on a currently displayed page of the book.